//
//  LYUtil.h
//  LYLiveApp
//
//  Created by 徐琰璋 on 16/5/24.
//  Copyright © 2016年 览益信息科技. All rights reserved.
//

#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>

@interface LYUtil : NSObject


/**
 *  将null转换为@""
 *
 */
+(NSString *)nullEmpty:(NSString *)str;

/**
 *  判断字符串是否为空
 *
 */
+ (BOOL)isNilOrEmpty:(NSString *)aNSString;
/**
 *  判断数组是否为空
 *
 */
+ (BOOL)isArrayNilOrEmpty:(NSArray *)array;

/**
 *   查看网络是否连接
 *
 *  @return YES 有网络  NO 网路断开
 */
+ (BOOL)hasNetwork;

/**
 *  视频播放页面转菊花
 *
 *  @param view   父视图
 */
+(void) showProgressHUDAddedToVideoView:(UIView *)view;

/**
 *  转菊花
 *
 *  @param view 父视图
 */
+(void) showProgressHUDAddedTo:(UIView *)view;

/**
 *  提示成功消息
 *
 *  @param title    内容
 *  @param view     父视图
 *  @param interval 显示时间
 */
+(void) showSuccessHUD:(NSString *)title AddedTo:(UIView *)view interval:(int)interval;

/**
 *  提示失败消息
 *
 *  @param title    内容
 *  @param view     父视图
 *  @param interval 显示时间
 */
+(void) showFailedHUD:(NSString *)title AddedTo:(UIView *)view interval:(int)interval;

/**
 *  提示警告消息
 *
 *  @param title    内容
 *  @param view     父视图
 *  @param interval 显示时间
 */
+(void) showWarningHUD:(NSString *)title AddedTo:(UIView *)view interval:(int)interval;

/**
 *  消息发送成功
 *
 *  @param title    内容
 *  @param view     父视图
 *  @param interval 显示时间
 */
+(void) showSuccessHUDWithMsg:(NSString *)title AddedTo:(UIView *)view interval:(int)interval;

/**
 *  隐藏
 *
 *  @param view 父视图
 */
+(void) hideHUDTo:(UIView *)view;


/**
 *  计算文本高度
 *
 *  @param text     文本内容
 *  @param font     字体大小
 *  @param maxWidth 最大宽度
 *
 *  @return 文本大小
 */
+ (CGSize)sizeWithText:(NSString*)text font:(UIFont*)font withWidth:(float)maxWidth;

/**
 *  计算文本高度
 *
 *  @param text     文本内容
 *  @param font     字体大小
 *  @param maxWidth 最大宽度
 *  @param lineSpacing 字间距
 *  @return 文本大小
 */

+ (CGSize)sizeWithText:(NSString*)text font:(UIFont*)font width:(float)maxWidth lineSpacing:(float)lineSpacing;
+ (CGSize)sizeWithText:(NSString*)text font:(UIFont*)font width:(float)maxWidth lineSpacing:(float)lineSpacing paragraphSpacing:(float)paragraphSpacing;
/**
 *  计算文本长度
 *
 */
+ (CGSize)sizeWithText:(NSString*)text font:(UIFont*)font withHeight:(float)maxHeight;

/**
 *  创建sign 验签
 *
 *  @return
 */
+ (NSString *) createSign:(NSString *)TIMESTAMP;

/**
 *  根据日期返回 昨天 今天 明天
 *
 *  
 */

+(NSString *)compareDate:(NSDate *)date;
/**
 *  根据日期返回 昨天 今天 明天
 *
 *
 */

+(NSString *)compareDateStr:(NSString *)dateStr;

/**
 *  提示文本较长时
 *
 *
 */

+(void) showLongTextFailedHUD:(NSString *)title AddedTo:(UIView *)view interval:(int)interval;

/**
 *  获取系统版本号
 *
 *  @return 版本号
 */
+ (NSString *) getDeviceInfo;

/**
 *  等比缩放图片
 *
 *  @param size 当前图片大小
 *
 *  @return 缩放后大小
 */

+ (UIImage *)scaleToSize:(UIImage *)img size:(CGRect)size;
/**
 *  判断是否是合法的手机号
 *
 *  @param phone 手机号
 *
 *  @return 是否是合法标准的手机号
 */
+ (BOOL)isValidatePhone:(NSString *)phone;
/**
 *  判断是否是合法的验证码
 *
 *  @param phone 验证码
 *
 *  @return 是否是合法标准的验证码
 */
+ (BOOL)isValidateSmsCode:(NSString *)smsCode;
/**
 *  判断是否是合法的密码
 *
 *  @param phone 密码
 *
 *  @return 是否是合法标准的密码
 */
+ (BOOL)isValidatePassword:(NSString *)password;
/**
 *  将手机号的中间4位用*号代替
 *
 *  @param mobile 需要加密的手机号
 *
 *  @return 加密后的手机号
 */
+ (NSString *)putStarInMobile:(NSString *)mobile;

/**
 *  生产带高亮并且有连接的富文本
 *
 *  @param contentStr 原始文本
 *
 *  @return 生产后的富文本
 */
+ (NSMutableAttributedString *) attributedStrWithString:(NSString *)contentStr defaultColor:(UIColor *)defaultColor;
/**
 *  将iPhone5s的对应高度的长度根据屏幕高度的比例转成对应屏幕的高度
 *
 *  @param value iPhone5s的高度
 *
 *  @return 根据屏幕比例的高度
 */
+ (CGFloat)getScreenScaleValueFromIphone5sValue:(CGFloat)value;
/**
 *  将日期转换为 时间（今天），昨天+时间（昨天），前天+时间（前天），日期+时间（前天以前）
 *
 *  @param dateStr 要转换的时间，格式为 yyyy-MM-dd hh:MM:ss
 *
 *  @return 格式化的时间
 */
+ (NSString *)getZmTimeWithDateStr:(NSString *)dateStr;
+ (BOOL)isQQInstalled;


/**
 处理deeplink

 @param deepLink 跳转的请求路径
 */
+(BOOL)handleDeepLindUrl:(NSURL *)url;

/**
 给属性字体设置行间距，也就是两行字中间的空白距离

 @param attrStr 需要设置的属性文本
 @param lineSpace 行间距大小
 */
+(void)addLineSpaceWithMutableAttbuteString:(NSMutableAttributedString *)attrStr lineSpace:(CGFloat)lineSpace;
/**
 给属性字体设置字间距，也就是两个字中间的空白距离
 
 @param attrStr 需要设置的属性文本
 @param characterSpace 字间距大小
 */
+(void)addCharacterSpaceWithMutableAttbuteString:(NSMutableAttributedString *)attrStr characterSpace:(CGFloat)characterSpace;
/**
 给股票文本添加高亮颜色
 
 @param attrStr 需要设置的属性文本
 @param hightArray 需要高亮显示文本
 */
+(void)addStockHightColorWithMutableAttbuteString:(NSMutableAttributedString *)attrStr hightArray:(NSArray *)hightArray;
+(NSString *)textString:(NSString *)text addTailText:(NSString *)tail font:(UIFont *)font maxLine:(NSInteger)maxLine maxWidth:(CGFloat)maxWidth;

//神策数据
+ (void)addSensorsTrack:(NSString *)track Properties:(NSDictionary *)properties;

//返回当前时间
+ (NSString *)returnCurrentTime;
+ (NSString *)returnTimeWithFormat:(NSString *)format;
+(NSString *)timestampSwitchTime:(NSInteger)timestamp andFormatter:(NSString *)format;

//神策属性
+(NSString *)lySensorsString:(NSString *)string;
+(NSString *)urlDictToStringWithUrlStr:(NSString *)urlStr Parameters:(NSDictionary *)parameters;

//截取URL中的参数
+ (NSMutableDictionary *)getURLParameters:(NSString *)urlStr;

//获取当前显示的controller
+ (UIViewController*) findBestViewController:(UIViewController*)vc;
@end
